// 全局请求路径，也就是后端的请求基准路径
const BASE_URL = 'http://hzy.nmgsskj.top/api/'
const WEB_URL = 'http://xzyapp.nmgsskj.top'
const API_URL = 'http://hzy.nmgsskj.top'
// 同时发送异步代码的次数，防止一次点击中有多次请求，用于处理
const realm_name = BASE_URL

// let ajaxTimes = 0;
// 封装请求方法，并向外暴露该方法
const myHttp = (options) => {
	// 解构请求头参数
	let header = {
		...options.header
	};
	if (options.data) {
		if (!options.data.timestamp) {
			options.data.timestamp = Math.floor(Date.now() / 1000)
		}
	}
	// 当前请求不是登录时请求，在header中加上后端返回的token
	if (options.url != 'Login/index') {
		header["Authorization"] = uni.getStorageSync('Token');
	}
	// ajaxTimes++;
	// 显示加载中 效果
	// uni.showLoading({
	// 	title: "加载中",
	// 	mask: true,
	// });
	return new Promise((resolve, reject) => {
		uni.request({
			url: BASE_URL + options.url,
			method: options.method || 'POST',
			data: options.data || {},
			header,
			success: (res) => {
				uni.hideLoading()
				if (res.statusCode == 200) {
					if (res.data.code == 401) {
						uni.removeStorageSync('userinfo');
						uni.reLaunch({
							url: '/pages/login/login'
						})
					} else {
						resolve(res)
					}
				} else if (res.statusCode == 401) {
					uni.removeStorageSync('userinfo');
					uni.reLaunch({
						url: '/pages/login/login'
					})
				} else {
					uni.showToast({
						title: res.errMsg,
						duration: 1000,
						icon: "none"
					});
				}
			},
			fail: (err) => {
				// uni.clearStorage();
				// uni.reLaunch({
				// 	url: '/pages/login/login'
				// })
				reject(err)
			},
			// 完成之后关闭加载效果
			// complete: () => {
			// 	ajaxTimes--;
			// 	if (ajaxTimes === 0) {
			// 		//  关闭正在等待的图标
			// 		uni.hideLoading();
			// 	}
			// }
		})
	})
}
module.exports = {
	realm_name,
	myHttp,
	API_URL,
	WEB_URL
}

// import storage from './storage';
// module.exports = (params) => { //params 为我们需要调用的接口API的参数 下面会贴具体代码
// 	// 判断请求类型
// 	const Authorization = storage.getItem('userinfo') && storage.getItem('userinfo').accessToken;
// 	if (Authorization) {
// 		var headerData = {
// 			'content-type': 'application/json',
// 			Authorization: `bearer ${Authorization}`,
// 		}
// 	} else {
// 		var headerData = {
// 			'content-type': 'application/json'
// 		}
// 	}
// 	return new Promise((resolve, reject) => {
// 		console.log(params.url)
// 		let url = params.url; //请求的网络地址和局地的api地址组合
// 		if (params.url.includes('/api/patient/patientUser/queryPersonal' ||
// 				'/api/message/pushMessage/updateAllRead')) {
// 			console.log('关闭加载')
// 		} else if (params.url.includes('/api/message/pushMessage/messageList')) {
// 			console.log('关闭加载')
// 		} else {
// 			uni.showLoading({
// 				title: '加载中',
// 				mask: true
// 			})
// 		}
// 		return uni.request({
// 			url: url,
// 			data: params.data,
// 			method: params.method,
// 			header: headerData,
// 			success: (res) => {
// 				uni.hideLoading()
// 				//错误统一处理
// 				if (res.data.code && res.data.code === 40318) {
// 					uni.showToast({
// 						title: res.data.message,
// 						duration: 1000,
// 						icon: "none"
// 					})
// 					setTimeout(() => {
// 						storage.removeItem('userinfo')
// 						uni.switchTab({
// 							url: '/pages/mine/login'
// 						})
// 					}, 1000)
// 					return;
// 				}
// 				if (res.data.code && res.data.code === 40320) {
// 					uni.showToast({
// 						title: res.data.message,
// 						duration: 1000,
// 						icon: "none"
// 					})
// 					setTimeout(() => {
// 						storage.removeItem('userinfo')
// 						uni.switchTab({
// 							url: '/pages/mine/login'
// 						})
// 					}, 1000)
// 					return;
// 				}
// 				if (res.statusCode && res.statusCode !== 200) {
// 					uni.showToast({
// 						title: '接口异常:' + res.data.message,
// 						duration: 1000,
// 						icon: "none"
// 					})
// 					return;
// 				}
// 				if (res.data.code && res.data.code !== 0) {
// 					uni.showToast({
// 						title: '获取数据失败:' + res.data.message,
// 						duration: 1000,
// 						icon: "none"
// 					})
// 					return;
// 				}
// 				resolve(res.data);
// 			},
// 			fail: (err) => {
// 				reject(err);
// 				uni.hideLoading()
// 			},
// 			complete: () => {
// 				uni.hideLoading()
// 			}
// 		});
// 	})
// }
